import http from '@/service'


// 游客登录接口 /register/anonimous
export function anonimousInterface() {
    return http({
        url: `/register/anonimous/key?timestamp=${Date.now()}`,
        method: 'get',
    })
}
// 二维码 key 生成接口
export function qrKeyInterface(params) {
    return http({
        url: `/login/qr/key?timestamp=${Date.now()}`,
        method: 'get',
        params
    })
}
// 二维码生成接口
export function qrCreateInterface(params) {
    return http({
        url: `/login/qr/create?timestamp=${Date.now()}`,
        method: 'get',
        params
    })
}
// 二维码检测扫码状态接口
// 轮询此接口可获取二维码扫码状态,
// 800 为二维码过期, 801 为等待扫码, 802 为待确认,
// 803 为授权登录成功(803 状态码下会返回 cookies)
export function qrCheckInterface(params) {
    return http({
        url: `/login/qr/check?timestamp=${Date.now()}`,
        method: 'get',
        params
    })
}
// 用户的登录状态
export function loginStatusInterface(data) {
    return http({
        url: `/login/status?timestamp=${Date.now()}`,
        method: 'post',
        data
    })
}
// 用户登录细节
export function userDetailInterface(params) {
    return http({
        url: `/user/detail/?timestamp=${Date.now()}`,
        method: 'get',
        params
    })
}
// 登出接口
export function logoutInterface() {
    return http({
        url: '/logout',
        method: 'get',
    })
}
export function userAccountInterface(params) {
    return http({
        url: '/user/account',
        method: 'get',
        params
    })
}
/* 
    获取用户信息, 歌单，收藏，mv, dj 数量
    说明: 登录后调用此接口, 可以获取用户信息
    接口地址: /user/subcount
    调用例子: /user/subcount
*/
export function subcountInterface(params) {
    return http({
        url: '/user/subcount',
        method: 'get',
        params
    })
}
// 获取用户歌单
/**
 * 
 * 说明 : 登录后调用此接口 , 传入用户 id, 可以获取用户歌单
 * 必选参数 : uid : 用户 id
 * 可选参数 :
 * limit : 返回数量 , 默认为 30
 * offset : 偏移数量，用于分页 , 如 :( 页数 -1)*30, 其中 30 为 limit 的值 , 默认为 0
 * 接口地址 : /user/playlist
 * 调用例子 : /user/playlist?uid=32953014
 * 
 */
export function userPlayListInterface(params) {
    return http({
        url: '/user/playlist',
        method: 'get',
        params
    })
}

// 获取用户关注列表
export function userFollowsInterface(params) {
    return http({
        url: '/user/follows',
        method: 'get',
        params
    })
}
/**
 * 获取用户粉丝列表
    说明 : 登录后调用此接口 , 传入用户 id, 可以获取用户粉丝列表

    必选参数 : uid : 用户 id

    可选参数 : limit : 返回数量 , 默认为 30

    offset : 偏移数量，用于分页 ,如 :( 页数 -1)*30, 其中 30 为 limit 的值 , 默认为 0
 */
export function userFollowedInterface(params) {
    return http({
        url: '/user/followeds',
        method: 'get',
        params
    })
}
// 用户绑定信息
export function userBindInterface(params) {
    return http({
        url: `/user/binding/?cookie=${localStorage.getItem('cookie')}`,
        method: 'get',
        params
    })
}

// 获取国家编码列表
export function countriesListInterface() {
    return http({
        url: `/countries/code/list/?timestamp=${Date.now()}`,
        method: 'get'
    })
}

// 更新用户头像
export function avatarUploadInterface(data) {
    return http({
        url: `avatar/upload/?imgSize=200&cookie=${localStorage.getItem('cookie')}&timestamp=${Date.now()}`,
        method: 'post',
        headers: {
            'Content-Type': 'multipart/form-data',
        },
        data
    })
}
// 更新用户信息
export function userUpdateInterface(params) {
    return http({
        url: `/user/update?cookie=${localStorage.getItem('cookie')}&gender=0&signature=测试签名&city=440300&nickname=binary&birthday=1525918298004&province=440000`,
        method: 'get',
        params
    })
}

// 每日推荐歌曲
export function getDaySongsInterFace(params) {
    return http({
        url: `/recommend/songs?cookie=${localStorage.getItem('cookie')}&gender=0&signature=测试签名&city=440300&nickname=binary&birthday=1525918298004&province=440000`,
        method: 'get',
        params
    })
}
//推荐mv
export function updateMvInterface() {
    return http({
        url: `/mv/first?cookie=${localStorage.getItem('cookie')}&gender=0&signature=测试签名&city=440300&nickname=binary&birthday=1525918298004&province=440000`,
        method: 'get',
    })
}

// 推荐新音乐
export function getNewSongsInterface() {
    return http({
        url: `/personalized/newsong?cookie=${localStorage.getItem('cookie')}&gender=0&signature=测试签名&city=440300&nickname=binary&birthday=1525918298004&province=440000`,
        method: 'get',
        params: {
            limit: 50
        }
    })
}




//获取mv视频
export function getMvRedioInterface(params) {
    return http({
        url: `/mv/url?cookie=${localStorage.getItem('cookie')}&gender=0&signature=测试签名&city=440300&nickname=binary&birthday=1525918298004&province=440000`,
        method: 'get',
        params
    })
}

// 获取用户歌单列表
export function getUserSongsListInterface(params) {
    return http({
        url: `/user/playlist?cookie=${localStorage.getItem('cookie')}&gender=0&signature=测试签名&city=440300&nickname=binary&birthday=1525918298004&province=440000`,
        method: 'get',
        params
    })
}


/**
 *  获取动态消息
    说明 : 调用此接口 , 可获取各种动态 , 对应网页版网易云，朋友界面里的各种动态消息 ，如分享的视频，音乐，照片等！

    必选参数 : pagesize : 每页数据,默认 20

    lasttime : 返回数据的 lasttime ,默认-1,传入上一次返回结果的 lasttime,将会返回下一页的数据

    接口地址 : /event

    调用例子 : /event?pagesize=30&lasttime=1556740526369
 */
export function getPersonalEventInterface(params) {
    return http({
        url: `/event?pagesize=5&lasttime=-1&cookie=${localStorage.getItem('cookie')}`,
        method: 'get',
        params
    })
}


//获取mv用户评论
export function getMvCommentsInterface(params) {
    return http({
        url: `/comment/mv?cookie=${localStorage.getItem('cookie')}&gender=0&signature=测试签名&city=440300&nickname=binary&birthday=1525918298004&province=440000`,
        method: 'get',
        params,
    })
}
//获取mv排行视频
export function getMvRankInterface() {
    return http({
        url: `/top/mv?cookie=${localStorage.getItem('cookie')}&gender=0&signature=测试签名&city=440300&nickname=binary&birthday=1525918298004&province=440000`,
        method: 'get',
        params: {
            limit: 10
        }
    })
}

/**
    获取用户关注列表
    说明 : 登录后调用此接口 , 传入用户 id, 可以获取用户关注列表
    必选参数 : uid : 用户 id

    可选参数 :
    limit : 返回数量 , 默认为 30
    offset : 偏移数量，用于分页 ,如 :( 页数 -1)*30, 其中 30 为 limit 的值 , 默认为 0
    接口地址 : /user/follows
    调用例子 : /user/follows?uid=32953014
 */
export function getUserCareInterface(params) {
    return http({
        url: `/user/follows?cookie=${localStorage.getItem('cookie')}&gender=0&signature=测试签名&city=440300&nickname=binary&birthday=1525918298004&province=440000`,
        method: 'get',
        params
    })
}

// 发送私信
export function SendMessagesInterface(params) {
    return http({
        url: `/send/text?cookie=${localStorage.getItem('cookie')}&gender=0&signature=测试签名&city=440300&nickname=binary&birthday=1525918298004&province=440000`,
        method: 'get',
        params
    })
}
